package com.suray.wcs.service.newled;


import java.io.IOException;
import java.net.*;


/**
 * udp通讯类
 */
public class UDPComm {

    /**
     * 发送UDP数据
     *
     * @param bytes 发送数据
     * @param ip    服务器地址
     * @param port  服务器端口号
     * @return 服务器返回数据
     * @throws IOException
     */
    public static String sendData(byte[] bytes, String ip, int port) throws IOException {
        //1.创建服务器地址
        InetAddress address = InetAddress.getByName(ip);
        //2.创建数据报，包含发送的数据信息
        DatagramPacket packet = new DatagramPacket(bytes, bytes.length, address, port);
        //3.创建DatagramSocket对象
        DatagramSocket socket = new DatagramSocket();
        //4.设置超时时间
        socket.setSoTimeout(3000);
        socket.send(packet);
        //5.接收服务器响应的数据
        DatagramPacket accept = new DatagramPacket(new byte[1024], 1024);
        //6.接受数据
        socket.receive(accept);
        //7.关闭占用资源
        socket.close();
        //8.返回数据
        return new String(accept.getData(), 0,4);
    }
}
